home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / bin / whatis < prev    next >
Text File  |  2005-10-13  |  2KB  |  89 lines

  1. #!/bin/sh
  2. #
  3. # apropos -- search the whatis database for keywords.
  4. # whatis  -- idem, but match only commands (as whole words).
  5. #
  6. # Copyright (c) 1990, 1991, John W. Eaton.
  7. # Copyright (c) 1994-1999, Andries E. Brouwer.
  8. #
  9. # You may distribute under the terms of the GNU General Public
  10. # License as specified in the README file that comes with the man
  11. # distribution.  
  12. #
  13. # apropos/whatis-1.5m aeb 2003-08-01 (from man-1.6)
  14. #
  15. # keep old PATH - 000323 - Bryan Henderson
  16. # also look in /var/cache/man - 030801 - aeb
  17.  
  18. program=`basename $0`
  19.  
  20. # When man pages in your favorite locale look to grep like binary files
  21. # (and you use GNU grep) you may want to add the 'a' option to *grepopt1.
  22. aproposgrepopt1='i'
  23. aproposgrepopt2=''
  24. whatisgrepopt1='iw'
  25. whatisgrepopt2='^'
  26. grepopt1=$whatisgrepopt1
  27. grepopt2=$whatisgrepopt2
  28.  
  29. if [ $# = 0 ]
  30. then
  31.     echo "usage: $program keyword ..."
  32.     exit 1
  33. fi
  34.  
  35. manpath=`man --path | tr : '\040'`
  36.  
  37. if [ "$manpath" = "" ]
  38. then
  39.     echo "$program: manpath is null"
  40.     exit 1
  41. fi
  42.  
  43. args=
  44. for arg in $*; do
  45.     case $arg in
  46.         --version|-V|-v)
  47.         echo "$program from man-1.6"
  48.         exit 0
  49.         ;;
  50.     --help|-h)
  51.             echo "usage: $program keyword ..."
  52.         exit 0
  53.         ;;
  54.     -*)
  55.         echo "$program: $arg: unknown option"
  56.         exit 1
  57.         ;;
  58.     *)
  59.         args="$args $arg"
  60.     esac
  61. done
  62.  
  63. while [ "$1" != "" ]
  64. do
  65.     found=0
  66.     for d in /var/cache/man $manpath /usr/lib
  67.     do
  68.         if [ -f $d/whatis ]
  69.         then
  70.             if grep -"$grepopt1" "$grepopt2""$1" $d/whatis
  71.             then
  72.                 found=1
  73. # Some people are satisfied with a single occurrence
  74. # But it is better to give all
  75. #               break
  76.             fi
  77.         fi
  78.     done
  79.  
  80.     if [ $found = 0 ]
  81.     then
  82.         echo "$1: nothing appropriate"
  83.     fi
  84.  
  85.     shift
  86. done
  87.  
  88. exit
  89.